package com.love.labuladong.greedy;

import java.util.Arrays;

/**
 * @Author : zh
 * @Description :
 * 举个例子，intvs=[[1,3],[2,4],[3,6]]，这些区间最多有两个区间互不相交，即[[1,3],[3,6]]，你的算法应该返回 2。注意边界相同并不算相交。
 * 这个是在 labuladong 例子中
 * @Date : 2024-08-12 11:34
 */
public class IntervalSchedule {

    static int d = 1000000007;

    public static void main(String[] args) {
//        int[][] intvs = {{1,3},{2,4},{3,6}};
        int[][] intvs = {{-2147483646,-2147483645},{2147483646,2147483647}};
        int i = intervalScheduling(intvs);
        System.out.println(i);

    }


    static int intervalScheduling(int[][] ints){
        if(ints == null || ints.length == 0){
            return 0;
        }
        Arrays.sort(ints, (a,b) -> (a[1] % d)   - (b[1] % d));

        int count = 1;

        int x_end = ints[0][1];

        for (int[] anInt : ints) {
            int start = anInt[0];
            if(start >= x_end){
                count++;
                x_end = anInt[1];
            }
        }

        return count;
    }

}
